Installation et configuration de Samba en mode "Share"
Contents
1 Introduction
Samba est un logiciel libre sous licence GPL supportant le protocole SMB/CIFS. Ce protocole est employé par Microsoft pour le partage de diverses ressources (fichiers, imprimantes, etc.) entre ordinateurs équipés de Windows. Samba permet aux systèmes Unix d'accéder aux ressources de ces systèmes et vice-versa.
Auparavant, les PC, équipés de DOS et des premières versions de Windows, devaient parfois installer une pile TCP/IP, et un ensemble de logiciels d'origine Unix : un client NFS, FTP, telnet, lpr, etc. Cela était lourd et pénalisant pour les PC de l'époque, et il obligeait par ailleurs leurs utilisateurs à contracter un double jeu d'habitudes, ajoutant celles d'UNIX à celles de Windows. Samba adopte donc la démarche inverse.
Son nom provient du protocole de partage et d'impression de fichiers d'IBM et réutilisé par Microsoft nommé SMB (Server message block), auquel ont été ajoutées les deux voyelles a : « SaMBa ».
Samba a été développé à l'origine par Andrew Tridgell,dès 1991 , et reçoit aujourd'hui les contributions d'une vingtaine de développeurs originaires du monde entier sous sa coordination. Celui-ci lui donna ce nom, en choisissant un nom voisin de SMB en interrogeant un dictionnaire Unix, par la commande grep : grep "^s.*m.*b" /usr/dict/words
Lorsque les deux systèmes de partage de fichiers (NFS, Samba) sont installés pour comparaison, Samba se révèle moins performant que NFS au niveau des taux de transferts.
Néanmoins, une étude a montré que Samba 3 était jusqu'à 2,5 fois plus rapide que l'implémentation SMB de Windows serveur 2003 Voir l'information sur LinuxFr
Toutefois, samba n'est pas compatible avec IPv6
Le mode "Share" permet de partager de façon simple des dossiers. Pas besoin de login, ni de mot de passe, tout le monde à accès à tout, ce qui n'est pas une solution sécurisée, mais c'est une solution simple.
2 Installation
Pour installer samba :
apt-get install samba
3 Configuration
Avant de commencez, définissez un répertoire que vous voulez partager (exemple : /home/share) :
mkdir /home/share chmod 777 /home/share
On lui met ensuite les droits complets.
Pour configurer samba, éditez le fichier /etc/samba/smb.conf :
#======================= Global Settings ===================================== [global] server string = Samba # Nom du serveur Samba socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # Optimisation du socket workgroup = workgroup # Nom du groupe de travail os level = 20 # Niveau du serveur Samba ## Encoding ## Affichage Europeen avec accents dos charset = 850 display charset = UTF8 ## Name resolution ## Resolutions des noms dns proxy = no wins support = no name resolve order = lmhosts host wins bcast ## Logs ## max log size = 50 log file = /var/log/samba/%m.log syslog only = no syslog = 0 panic action = /usr/share/samba/panic-action %d ## Passwords ## password server = None # Pas de serveur de mot de passes en mode share security = SHARE # Mode choisis invalid users = root # Ne pas autoriser ces utilisateurs. ## Restrictions ## hide special files = no # Cacher les fichiers spéciaux hide unreadable = no # Cacher les fichiers non lisible hide dot files = no # Cacher les fichiers cachés (commencant par un ".") ## Resolve office save problems ## oplocks = no # Résoud des problèmes de compatibilité avec les version > MS Office 2002 #======================= Shares ============================================== # Partage tmp [tmp] comment = Temporary file space path = /tmp read only = no public = yes # Partage share [share] comment = Share file space path = /home/share read only = no public = yes
Quelques explications :
- Configurez d'abord les données dans Global
- Définissez bien l'OS level < à 20 sauf si il agit en tant que controleur de domaine, alors > 50
Adaptez tout ceci pour votre configuration. Ensuite redémarrez Samba :
/etc/init.d/samba restart
4 Connection
4.1 Windows
Pour vous connectez depuis windows, dans une fenetre de liens, tapez ceci :
\\IP_du_serveur_samba\Nom_du_partage
Vous accéderez directement au partage
4.2 Unix (Linux/Mac...)
Vous devez avoir smbfs d'installer avant de continuer :
apt-get install smbfs
Ensuite, il suffit de créer un dossier et de monter le partage dedans :
mkdir test mount -t cifs -o username=nobody,password=nobody //192.168.0.1/tmp ./test
5 Ressources
Documentation on a Complete auto discovery and mounting solution with SMB shares